#ifndef _HELIX_STRING_UTIL_TESTS_H_
#define _HELIX_STRING_UTIL_TESTS_H_

// ImageTests.h
#include <cxxtest/TestSuite.h>
#include "../Helix/Log.h"
#include "../Helix/HObject.h"
#include "../Helix/Util/StringUtil.h"
#include <string>

using namespace helix;
using namespace std;

class StringUtilTest : public CxxTest::TestSuite
{
public:

	void setUp()
	{
		printf("\n\nStringUtilTest::");
	}

	void tearDown()
	{
	}

	
	void testReplace()
	{
		printf("testReplace\n");
		string test("This is a test string.");
		StringUtil::replace(&test,"t","T");

		TS_ASSERT_EQUALS(0,test.compare("This is a TesT sTring."));
	}

	void testReplaceMultipleCharacters()
	{
		printf("testReplaceMultipleCharacters\n");
		string test("This is a test string.");
		StringUtil::replace(&test,"ts","*");

		TS_ASSERT_EQUALS(0,test.compare("Thi* i* a *e** **ring."));
	}

	void testReplaceWithString()
	{
		printf("testReplaceWithString\n");
		string test("This is a test string.");
		StringUtil::replace(&test,"s","th");

		TS_ASSERT_EQUALS(0,test.compare("Thith ith a tetht thtring."));
	}

	void testReplaceRemove()
	{
		printf("testReplaceRemove\n");
		string test("This is a test string.");
		StringUtil::replace(&test,"st","");

		TS_ASSERT_EQUALS(0,test.compare("Thi i a e ring."));
	}


};

#endif